Gestion des tokens
Cette doc est entamé des mois après la réflexion du système, des choses seront marqués en ? pour lesquels je ne suis pas sûr.
Les différents tokens
- Access Token: Token qui permet d'accéder à l'API. Il est généré lors de la connexion de l'utilisateur.
- Refresh Token: Token qui permet de rafraîchir l'Access Token. Il est généré lors de la connexion de l'utilisateur.
- Session Token: Token qui permet de garder la session de l'utilisateur. Il est généré lors de la connexion de l'utilisateur.
Autres tokens
- Visitor Token: Token qui permet est utilisé pour les visiteurs lorsqu'il scan le qrcode.
Contenu des tokens
Visitor Token
export const visitorTokenSchema = {
type: 'object',
properties: {
type: { type: 'number', enum: enumToArray(TokenTypeRs) },
appType: { type: 'number', enum: [AppType.KARE] },
organizationId: { type: 'number' },
establishmentIds: { type: 'array', items: { type: 'number' } },
siteIds: { type: 'array', items: { type: 'number' } },
originSite: { type: 'number' },
estbSiteMap: { type: 'object', additionalProperties: { type: 'number' } },
iat: { type: 'number' },
},
required: ['organizationId', 'establishmentIds', 'siteIds', 'type', 'appType', 'originSite', 'estbSiteMap'],
additionalProperties: false,
} as const;
Les attributs du token sont les suivants:
- type: Type du token (tous les tokens possible sur l'application)
- appType: Type de l'application (KARE ou KARE-BO)
- organizationId: Id de l'organisation que le qrcode visiteur a scanné
- establishmentIds: ?? Tous les établissements de l'organisation ??
- siteIds: ?? Tous les sites de l'organisation ??
- originSite: Le site spécifique que le qrcode visiteur a scanné
- estbSiteMap: Le mapping de l'établissement et de son site => plus nécessaire